﻿using WAU.DAL;

namespace WAU.Services
{
    /// <summary>
    /// 基础服务
    /// </summary>
    public class BasicService
    {
        private readonly EssentialDbContext dbContext;

        public BasicService(EssentialDbContext dbContext)
        {
            this.dbContext = dbContext;
        }

        /* 以下两个方法用于被其它服务继承 */

        /// <summary>
        /// 数据库提交
        /// </summary>
        /// <returns></returns>
        public int SaveChanges()
        {
            return this.dbContext.SaveChanges();
        }

        /// <summary>
        /// 数据库提交（异步）
        /// </summary>
        /// <returns></returns>
        public Task<int> SaveChangesAsync()
        {
            return this.dbContext.SaveChangesAsync();
        }

        /* 以下一个方法用于多个服务操作时，统一保存数据库 */

        /// <summary>
        /// 数据库提交
        /// </summary>
        public int Complete()
        {
            return this.dbContext.SaveChanges();
        }
    }
}
